package zack.project.trigger.api;


import zack.project.trigger.api.dto.*;
import zack.project.trigger.api.response.Response;
import java.util.List;

/**抽奖策略接口
 * @author A1793
 */
public interface IRaffleStrategyService {

    /**
     * 策略装配
     * @param strategyId
     * @return
     */
    Response<Boolean> strategyArmory(Long strategyId);

    /**
     * 查询奖品列表
     * @param request
     * @return
     */
    Response<List<RaffleAwardListResponseDTO>> queryRaffleAwardList(RaffleAwardListRequestDTO request);

    /**
     *
     * @param request
     * @return
     */
    Response<RaffleStrategyResponseDTO> randomRaffle(RaffleStrategyRequestDTO request);

    /**
     * 查询抽奖策略权重
     * @param request
     * @return
     */
    Response<List<RaffleStrategyRuleWeightResponseDTO>> queryRaffleStrategyRuleWeight(RaffleStrategyRuleWeightRequestDTO request);


}
